1
불변성으로 보장하는 데이터 무결성: 표준 튜플
AI015Lesson 3
00:00

줄루아의 튜플은 고정된 길이를 가진 순서 있는 컬렉션으로, 부작위적인 상태 변경을 막아 데이터 무결성을 보장하도록 설계되었습니다. 배열은 대괄호로 표현되지만, 튜플은 소괄호와 쉼표로 표현됩니다, 정의 예시에서 볼 수 있듯이 tup1=(5,10,15,20,25,30).

1. 핵심 속성

배열과 마찬가지로 튜플도 요소들의 순서가 유지되는 집합입니다. 이를 통해 범위 기반 추출이 가능하며, 예를 들어 tup1[3:end] 원본 데이터의 부분집합을 반환할 수 있습니다. 또한 튜플은 매우 유연하여 구조적 중첩. 만약 tup1 = ((1,2),(3,4))이라면, 첫 번째 그룹은 tup1[1] 또는 더 깊이 접근하여 tup1[1][2].

2. 불변성 계약

가장 중요한 차이는 튜플은 불변이다. 인스턴스화된 후에는 내용을 변경할 수 없습니다. 예를 들어 tup1[2]=0 과 같은 연산을 수행하면 MethodError에러가 발생하게 되며, 실제로 데이터를 '잠그는' 효과를 갖습니다.

배열 [가변][1, 2, 3]튜플 (불변)(1, 2, 3)tup1[2]=0 → MethodError

3. 최적화

튜플은 불변이므로 줄루아 컴파일러는 메모리 내 저장 방식을 종종 최적화할 수 있으며, 작은 고정 크기의 데이터 그룹에 대해 배열보다 훨씬 빠르게 동작합니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>